from django.db import  models
# 封装常用字段

class DateTimeModelMixin(models.Model):
    created_time = models.DateTimeField(auto_now_add=True,verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True, verbose_name="修改时间")

    # 防止在映射和迁移过程中  吧DateTimeModelMixin 变成一张表
    # 成为其他模型的继承操作
    class Meta:
        abstract = True # 指定为抽象类  不会在映射和迁移的时候 成为一张表


class IsDeleteModelMixin(models.Model):
    is_delete = models.BooleanField(default=False, verbose_name="逻辑删除")

    def delete(self):
        # 是修改操作
        self.is_delete = True
        self.save()

    class Meta:
        abstract = True

class ModelsLsMixin(DateTimeModelMixin,IsDeleteModelMixin):
    class Meta:
        abstract = True